<?php
/*configuration*/
$cfg_live_site = "http://www.nkc.kku.ac.th/manage";
/** ตรวจดูว่ามีการกำหนดค่าจากไฟล์หลักหรือไม่ ? */
/*defined( '_VALID_MOS' ) or die( 'คุณไม่มีสิทธิ์ใช้งานในส่วนนี้.' );*/

/**
* Utility function to return a value from a named array or a specified default
*/
define( "_MOS_NOTRIM", 0x0001 );
define( "_MOS_ALLOWHTML", 0x0002 );
define( "_MOS_ALLOWRAW", 0x0004 );
define( "_MOS_NOMAGIC", 0x0008 );
function mosGetParam( &$arr, $name, $def=null, $mask=0 ) {
    if (isset( $arr[$name] )) {
        if (is_array($arr[$name])) foreach ($arr[$name] as $key=>$element) $result[$key] = mosGetParam ($arr[$name], $key, $def, $mask);
        else {
            $result = $arr[$name];
            if (!($mask&_MOS_NOTRIM)) $result = trim($result);
            if (!is_numeric( $result)) {
                if (!($mask&_MOS_ALLOWHTML)) $result = strip_tags($result);
                if (!($mask&_MOS_ALLOWRAW)) {
                    if (is_numeric($def)) $result = intval($result);
                }
            }
        }
        return $result;
    } else {
        return $def;
    }
}
/**
* Utility function redirect the browser location to another url
*
* Can optionally provide a message.
* @param string The file system path
* @param string A filter for the names
*/
function mosRedirect( $url, $msg='' ) {
	if (trim( $msg )) {
	 	if (strpos( $url, '?' )) {
			$url .= '&mosmsg=' . urlencode( $msg );
		} else {
			$url .= '?mosmsg=' . urlencode( $msg );
		}
	}

	if (headers_sent()) {
		echo "<script>document.location.href='$url';</script>\n";
	} else {
		header( "Location: $url" );
		//header ("Refresh: 0 url=$url");
	}
	exit();
}

function orderUpIcon( $i, $condition=true, $id, $task='orderup' ) {
	if (($i > 0 ) && $condition) {
	$alt = 'เลื่อนขึ้น';
		return '<a href="#reorder" id="orderup'.$id.'" title="'.$alt.'"><img src="images/001_24.gif" width="18" height="18" border="0" alt="'.$alt.'"></a>';
	} else {
		return '&nbsp;';
	}
}

function orderDownIcon( $i, $n, $condition=true, $id, $task='orderdown' ) {
	if (($i < $n-1 ) && $condition) {
	$alt = 'เลื่อนลง';
		return '<a href="#reorder" id="orderdown'.$id.'" title="'.$alt.'"><img src="images/001_22.gif" width="18" height="18" border="0" alt="'.$alt.'"></a>';
	} else {
		return '&nbsp;';
	}
}

function convert( $date ){
	$months = Array( '', 'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม');
	
	$year=substr($date,0,4);
	$month=(int)substr($date,5,2);
	$day=(int)substr($date,8,2);

	echo "วันที่ : ".$day." ".$months[$month]." ".($year+543)." ".substr( $date, 11, 8);
}

/**
* Prepares results from search for display
* @param string The source string
* @param int Number of chars to trim
* @param string The searchword to select around
* @return string
*/
function mosPrepareSearchContent( $text, $length=200, $searchword ) {
	// strips tags won't remove the actual jscript
	$text = preg_replace( "'<script[^>]*>.*?</script>'si", "", $text );
	$text = preg_replace( '/{.+?}/', '', $text);
	//$text = preg_replace( '/<a\s+.*?href="([^"]+)"[^>]*>([^<]+)<\/a>/is','\2', $text );
	return mosSmartSubstr( strip_tags( $text ), $length, $searchword );
}

/**
* returns substring of characters around a searchword
* @param string The source string
* @param int Number of chars to return
* @param string The searchword to select around
* @return string
*/
function mosSmartSubstr($text, $length=200, $searchword) {
  $wordpos = strpos(strtolower($text), strtolower($searchword));
  $halfside = intval($wordpos - $length/2 - strlen($searchword));
  if ($wordpos && $halfside > 0) {
      return '...' . substr($text, $halfside, $length);
  } else {
    return substr( $text, 0, $length);
  }
}

/**
*function ใช้สำหรับสร้าง option เลือกจังหวัดในประเทศไทย
*/
function province( $pid, $attibute="" ){
	$psql = "SELECT * FROM province";
	$pquery = mysql_query( $psql );
	$html = "<SELECT name=\"province\" $attibute >";
	while( $prow=mysql_fetch_object($pquery) ){
		$html .= "\t<OPTION VALUE=\"$prow->pid\"";
		$html .= ( $pid==$prow->pid )? "SELECTED":"";
		$html .=">".$prow->pname."</OPTION>\n";
	}
	$html .= "</SELECTED>";
	return $html;
}

//Object ที่ใช้ในการสร้าง Form ตัวเลือก วันเดือนปี
class mkDateOption{
	var $year = null;
	var $month = null;
	var $day = null;

	function setDate( $date='' ){
		if ( $date ){
			$this->year=substr($date,0,4);
			$this->month=(int)substr($date,5,2);
			$this->day=(int)substr($date,8,2);
		}else{
			$this->year = date( 'Y' );
			$this->month = date( 'n' );
			$this->day = date( 'j' );
		}
	}
	function getDayOption( $name, $attribute='' ){
		echo '<SELECT NAME="'.$name.'"'.$attribute.'>';
		echo '<OPTION VALUE=""></OPTION>';
		for( $i=1,$n=31;$i<=$n;$i++ ){
			echo "<OPTION VALUE=\"$i\"";
			echo ( $this->day == $i )? "SELECTED":"";
			echo ">".$i."\n";
		}
		echo '</SELECT>';
	}

	function getMonthOption( $name, $attribute='' ){
		$months = Array( '', 'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม');
		echo '<SELECT NAME="'.$name.'"'.$attribute.'>';
		echo '<OPTION VALUE=""></OPTION>';
		for( $i=1,$n=count( $months );$i<$n;$i++ ){
			echo "<OPTION VALUE=\"$i\"";
			echo ( $this->month == $i )? "SELECTED":"";
			echo ">".$months[$i]."\n";
		}
		echo '</SELECT>';
	}

	function getYearOption( $name, $attribute='', $start='', $end='' ){
		echo '<SELECT NAME="'.$name.'"'.$attribute.'>';
		echo '<OPTION VALUE=""></OPTION>';
		for( $i=$start,$n=$end;$i<=$n;$i++ ){
			echo "<OPTION VALUE=\"$i\"";
			echo ( $this->year == $i )? "SELECTED":"";
			echo ">".($i+543)."\n";
		}
		echo '</SELECT>';
	}

	function getDateOption( $dayName, $monthName, $yearName, $attribute='', $start='', $end='' ){
		$this->getDayOption( $dayName, $attribute );
		echo " ";
		$this->getMonthOption( $monthName, $attribute );
		echo " ";
		$this->getYearOption( $yearName, $attribute, $start, $end );
	}


	function chkDate( $day, $month, $year, $err='วันเดือนปีไม่ถูกต้อง' ){
		if ( !checkdate( $month, $day, $year ) ){
			echo "<script> alert('".$err."'); window.history.back(); </script>\n";
			exit();
		}
	}
}
class convert{
	var $thaidate;
	function setThaiDate( $date ){
		$months = Array( '', 'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม');
		
		$year=substr($date,0,4);
		$month=(int)substr($date,5,2);
		$day=(int)substr($date,8,2);

		$this->thaidate = $day." ".$months[$month]." ".($year+543);
	}
	function getThaiDate(){
		return $this->thaidate;
	}
}
function cnvThai( $date ){
		$months = Array( '', 'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม');
		
		$year=substr($date,0,4);
		$month=(int)substr($date,5,2);
		$day=(int)substr($date,8,2);

		return $day." ".$months[$month]." ".($year+543);
	}

function resizeImg($imgsrc ,$maxW='*', $maxH='*', $allowScaleUp=0, $returnHTML="alt='image'"){
 if($s=getimagesize($imgsrc)){
  $oW=$s[0];$oH=$s[1];
  if(($oW>$maxW && $maxW!='*') || ($oH>$maxH && $maxH!='*') || $allowScaleUp){//if resize is needed:
   if($maxW && $maxH=='*'){ //constrain by width:
    $proportion=$oH/$oW;
    $w=$maxW;
    $h=$maxW*$proportion;   
   }else if($maxH && $maxW=='*'){ //constrain by height:
    $proportion=$oW/$oH;
    $h=$maxH;
    $w=$maxH*$proportion;
   }else if(!$maxW && $maxH){ //constrain by smallest side:
    return($oW>$oH ? resizeImg($imgsrc, '*', $maxH, $allowScaleUp, $returnHTML) : resizeImg($imgsrc, $maxW, '*', $allowScaleUp, $returnHTML));
   }else if($maxW && !$maxH){ //constrain by largest side:
    return($oW>$oH ? resizeImg($imgsrc, $maxW, '*', $allowScaleUp, $returnHTML) : resizeImg($imgsrc, '*', $maxH, $allowScaleUp, $returnHTML));
   }else{
    return($maxW>$maxH ? resizeImg($imgsrc, '*', $maxH, $allowScaleUp, $returnHTML) : resizeImg($imgsrc, $maxW, '*', $allowScaleUp, $returnHTML));
   }
  }else{
   $w=$oW;$h=$oH;
  }
  //echo "orig: ".$oW."x:".$oH."<br />max: ".$maxW."x".$maxH."<br />new: ".$w."x".$h."<br />"; //debug
  $w=round($w); $h=round($h);
  return ($returnHTML ? "<img src='$imgsrc' width='$w' height='$h' $returnHTML />" : array(0=>$w,1=>$h,"width"=>$w,"height"=>$h));
 }else{//file does not exist or is not an image:
  return false;
 }
}


/**
*function load module
*
*/
function loadModules( $position, $auth_id ){
	$mysql = "SELECT * FROM web_modules WHERE position='$position' AND published=0 AND user_id='$auth_id' ORDER BY ordering DESC";
	$myquery = mysql_query($mysql);
	while($myrow = mysql_fetch_object($myquery)){
		if ( !$myrow ){
			echo "No Modules";
		}else	if ( $myrow->module ){
			if($myrow->showtitle==0) $module_name = $myrow->titles;
			$module_id = $myrow->id;
			require( 'modules/'.$myrow->module.'.php' );
		}
	}//end while
}
?>